package com.leecode.base;

/**
 * @Author: yaoshubin
 * @Date: 2022-12-09 23:47
 * @description :处理数组的工具类
 */
public class ArrayUtil {

    //数组元素交换位置
    public static void swap(int[] nums, int i, int j) {
        int temp = nums[j];
        nums[j] = nums[i];
        nums[i] = temp;
    }


    //打印数组元素
    public static void printArray(int[] nums) {
        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i] + " ");
        }
        System.out.println();
    }


    /**
     * 随机数数组生成器：根据随机数范围获得一个 长度随机和值随机的数组
     * 用途：用于生成
     * Math.random()   0.0 and less than 1.0
     * (int) Math.random()  ->  [0,1)
     * N *  Math.random() -> [0,N)
     * (int) N *  Math.random() -> [0,N]
     *
     * @param maxSize
     * @param maxValue
     * @return
     */
    public static int[] generateRandomArr(int maxSize, int maxValue) {
        //长度随机
        int[] arr = new int[(int) (maxSize * Math.random())];
        //值随机
        for (int i = 0; i < arr.length; i++) {
            arr[i] = ((int) ((maxValue + 1) * Math.random())) - ((int) ((maxValue) * Math.random()));
        }
        return arr;
    }



}
